/**
 * 
 */
package org.istt.service;

import java.util.List;

import org.istt.domain.User;

public interface UserManager extends Manager<User, Long>{
	public List<User> searchByUserName(String username);
	public List<User> searchUser(String username, String lastname, String firstname, Long departmentId, Long positionId);
    public User login(String username, String password);
    public List<User> findUserByDeptId(Long deptId);
    public List<List<Object>> getUserGroupWfs(Long workflwProcessId);
    public List<User> getUserByGroupWfs(Long workflwProcessId);
    public boolean searchUserToDelete(Long userId);
    
    /**
     * Returns a list of User objects.
     * There should normally only be one matching user.
     */
    List<User> loadUsersByUsername(String username);
    
    /**
     * Loads authorities.
     *
     * @return a list of GrantedAuthority objects for the user
     */
	List<String> loadUserAuthorities(String username);
}
